package com.leon.rose.modules.upms.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.leon.rose.common.utils.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.leon.rose.modules.upms.entity.SysResources;
import com.leon.rose.modules.upms.service.ISysResourcesService;

/**
 * <p>
 * 资源菜单 前端控制器
 * </p>
 *
 * @author Leon
 * @since 2019-05-05
 */
@Api(description = "资源菜单")
@RestController
@RequestMapping("/sysResources")
public class SysResourcesController {

    @Autowired private ISysResourcesService sysResourcesService;

    /**
     * 功能描述:
     * 〈新建资源菜单〉
     * @param  sysResources 资源菜单对象
     * @return : com.github.pig.common.util.R<java.lang.Boolean>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("新建资源菜单")
    @PostMapping
    public R<Boolean> addSysResources(@RequestBody SysResources sysResources){
        return new R<>(sysResourcesService.save(sysResources));
    }

    /**
     * 功能描述:
     * 〈根据主键ids删除资源菜单列表〉
     * @param idList 资源菜单id数组
     * @return : com.github.pig.common.util.R<java.lang.Boolean>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("根据主键ids删除资源菜单列表")
    @DeleteMapping
    public R<Boolean> delSysResourcesByIds(@RequestBody List<Integer> idList){
        return new R<>(sysResourcesService.removeByIds(idList));
    }

    /**
     * 功能描述:
     * 〈按条件分页查询资源菜单〉
     * @param page 分页条件，可以传入下划式排序字段和排序方式
     * @param sysResources 条件对象
     * @return : com.github.pig.common.util.R<com.baomidou.mybatisplus.plugins.Page<com.leon.rose.modules.upms.entity.SysResources>>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("按条件分页查询资源菜单")
    @GetMapping
    public R<IPage<SysResources>>getSysResourcesPage(Page page,SysResources sysResources){
        QueryWrapper qw=new QueryWrapper();
        //ew.gt(StringUtils.isNotBlank(sysResources.getStartTime()),"create_time",sysResources.getStartTime());
        //ew.lt(StringUtils.isNotBlank(sysResources.getEndTime()),"create_time",sysResources.getEndTime());
        //ew.like(StringUtils.isNotBlank(sysResources.getName()),"name",sysResources.getName());
        //ew.eq(sysResources.getId()!=null,"id",sysResources.getId());
        return new R<>(sysResourcesService.page(page,qw));
    }

    /**
     * 功能描述:
     * 〈查询资源菜单详情〉
     * @param id 资源菜单主键
     * @return : com.github.pig.common.util.R<com.leon.rose.modules.upms.entity.SysResources>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("查询资源菜单详情")
    @GetMapping("/{id}")
    public R<SysResources> getSysResources(@PathVariable("id") Integer id){
        return new R<>(sysResourcesService.getById(id));
    }

    /**
     * 功能描述:
     * 〈修改资源菜单信息〉
     * @param sysResources 要修改的资源菜单信息
     * @return : com.github.pig.common.util.R<java.lang.Boolean>
     * @author : Leon
     * @date : 2019-05-05
     */
    @ApiOperation("修改资源菜单信息")
    @PutMapping
    public R<Boolean> updateSysResourcesList(@RequestBody SysResources sysResources){
        return new R<>(sysResourcesService.updateById(sysResources));
    }

}
